A. Field of the Invention
The present invention is directed to a system for producing diverse visual presentations based upon computer output information, in particular, printed output of diverse copies having different content. Specifically, traditional single or multipart forms are produced on an image-representation device from diverse input data streams independent of any device-dependent characteristics embedded in such input data streams.
B. Background Art
Production of form documents in the business environment usually involves the specification of form "art work," the number of copies or parts, spot carbon areas, and physical paper characteristics such as type and size. Such specification and subsequent production are time consuming and expensive. Further, the completion of forms requires that an application program performat its output to match the prepared form. As a result, any change in the form requires a corresponding change in the application program--an expensive process. Additional difficulties may be encountered in exact data format and paper registration within the printer for even the most basic paper form document generation.
Traditionally, for basic paper form generation, application programs which produced output on a preprinted form were required to read a data record, identify and select the data fields appropriately, and format the fields. When writing these application programs, the programmer was required to specify in tedious detail the exact placement of each data field by adding padding spaces, horizontal tabulation, and other formatting controls so that information-containing fields were actually printed within the appropriate areas on the preprinted forms. If multipart forms were desired, full carbons or spot carbons were placed between sheets to enable printing a data field to register on a plurality of sheets. If certain data fields were to appear on some sheets but not on others, the sheets on which the data field was not to appear required no carbon in the fields where the data field to be suppressed was printed on other sheets.
For example, if the multipart form document being printed was a traditional U.S. W-2 Income Tax Form, the amount of state and local tax which appeared in certain locations on some sheets of the form should not appear on the copy sent to the U.S. Government. Therefore, the sheet of carbon paper facing the sheet sent to the U.S. Government had no carbon facing these state and local tax locations. When the printer struck these carbonless locations, the printing of state and local tax data was suppressed from the U.S. Government's copy.
With the advent of computers having more sophisticated print facilities, the data transmitted to the printer no longer had to be fully formatted by the application program. Utility programs were developed which took over part of the task of formatting printer output and, therefore, the information which was conveyed by the application program became somewhat more skeletal. The application program was required to send only the appropriate fields in the correct order, and the utility would then combine the field information with a certain amount of printer information in a structure called a "form control block" or "form control buffer" (FCB). This FCB was a memory area for the assembly of a complete page of printer information. The fields sent by the applications program were placed in the appropriate locations within the FCB by the utility program. Once completed, the FCB was sent serially to the printer for output.
Later, non-impact printers were developed. These included ink jet, laser electrographic, electro-discharge, and thermal printers. It was not feasible to use preprinted multipart forms which employed spot carbon to suppress certain fields on some copies but not others using these non-impact printers. The lack of an impact meant that the form had to be printed several times in order to achieve an equivalent product. Because of this, the application program was required to transmit multiple copies of the same data incorporating the fields which were desired and deleting the fields which were to be suppressed for a given copy. It became apparent that the use of preprinted forms in this environment was not economical.
Additionally, preprinted forms required exact forms registration within the print mechanism in order that information fit within predefined areas of those forms. This forms registration requirement added complexity to an already difficult task in that paper alignment had to be maintained manually by an operator or automatically by additional expensive and complicated hardware. Thus, an alternative to the preprinted form was developed. This alternative was termed the "forms flash".
In a laser electrographic printer, a forms flash is composed of a negative plate which is physically placed within the printer and is illuminated by a xenon flash lamp during the scan of the drum or plate by the laser. This forms flash allowed the creation of a preprinted form and simultaneous fill-in of the form by the laser. This technique, however, suffered from the inherent limitation of the physical processes required to mount a negative plate in the printer. During the mounting and dismounting process the printer could not print. This lowered the printer output and increased printing costs. The form plate, once mounted, may not be varied to suit the application, it may only be turned on or off.
It was discovered that a more efficient way of creating the form was to create an electronic overlay of the form in the FCB. The form was OR'ed with the information fields in the memory map of the FCB to arrive at a final document. This procedure involved determining which memory locations in the FCB corresponded to an area of the form and overlaying in that memory location whatever character appeared at that area of the form. This provided the added benefit of allowing forms to change during processing using software to alter the contents of the FCB. The advantage of this approach was that it eliminated the need to have several form negatives with minor variations among them. This procedure also eliminated the time-consuming and expensive process of physically storing, mounting and removing the form negatives since the FCB overlays could be stored in electronic memory.
Pending U.S. patent application Ser. No. 345,943 filed Jan. 29, 1982, entitled "A Page Modification Method in a Printer Subsystem of the Partial Buffer Composing Type" and issued as U.S. Pat. No. 4,470,129 to Disbrow et al. shows printer action based on a host program with regard to PAGEDEF and FORMDEF which are hereinafter fully described. U.S. Pat. No. 4,470,129 is assigned to the same assignee as this application and is incorporated herein by reference.
U.S. Pat. No. 3,959,776 to Morley teaches the construction of a programmable printer. This printer contains a microprocessor-controlled data interface which can select data information from both external sources and an internal store maintained in programmable read-only memory. The device is constructed to allow intermixing of external variable data information and internal stored fixed data information for the generation of output information in a specific predefined format.
Memory overlay of forms onto the FCB also created the possibility of combining multiple forms on the same output document. This combination could be performed by software mapping algorithms. It could not be performed in a forms flash system without creating a specific negative for each combination desired.
U.S. Pat. No. 4,031,519 to Findley discloses a printer having an internal instruction execution unit controlled by a channel connected to a data processing unit. The instruction execution unit derives its data and control sequences from both read-only storage and a writable control storage area. The instruction execution unit in turn controls a laser imaging apparatus. Writable storage includes buffers for information to be printed as well as instructions for the modifications of that information within the printer.
With the advent of forms combination, it became apparent that the overlays used to create preprinted forms should constitute a system level resource. Other system level resources included character fonts or type styles, segments, and suppressions.
By using the character font resource, an applications program could specify different type styles at various locations within a document. Two types of segments were available. The first type of segment included pieces of final image or copy which were repeated so often as to become inefficient to retransmit each time they were used. For example, contract or sales form boilerplate could be defined as segments. Another type of segment is a logotype or a small figure which was too large to fit within a font definition. Another resource was a suppression. A suppression was a modern day equivalent of the spot carbon form. It was a way to remove information from certain copies of a multipart printout.
U.S. Pat. No. 4,300,206 to Belleson, et al. describes a printer having a microprocessor-controlled raster imaging apparatus. The printer contains an accumulator memory for the logical OR'ing of data bits which may include raster-coded graphics and text.
An IBM 370 system CPU (host computer) ordinarily communicates with a visual display hard copy device over an input/output channel. Such a channel is conventionally composed of a slave CPU and various pieces of adapted electronics. In addition, many printers contain data and program memories and internal CPU's generally termed instruction execution units (IEU). System 370 I/O channels are controlled by the 370 CPU via channel command words (CCW's) which instruct the channel processor in its data transmission activity.
Data transmitted over a channel to a visual display hard copy device ordinarily contain control information for that device in the form of carriage controls, or CC's, which preface a given amount of test-representing information. These CC's typically include commands for spacing, skipping to a given channel, folding and unfolding of paper, controlling paper and mechanical actions such as cover opening or paper loading, and self-diagnosis of the mechanism. Such CC's are composed of specific values for a given printer device, and such values activate specific instructions within the printer.
Typically, a block of information to be printed contains the appropriate CC's inserted there by the user of a systems level utility for print formatting.
C. IBM 3800 Model 3 Printing Subsystem
An IBM 3800 Model 3 Printing Subsystem (announced 1982) uses a low-power laser and an electrophotographic process to generate printed output. A photoconductor is used with electrical properties that change when it is exposed to light, and a laser subassembly scans data images onto the photoconductor. The photoconductor is wrapped around the surface of a drum. Toner is attracted to the areas on the photoconductor.
The scan lines of data are created two lines at a time, and the resulting bit patterns are used as impulses that modulate a laser beam in the laser subassembly. Where the raster patterns indicate a dot, the laser beam is directed through an optical system to the photoconductor, which has been electrically charged by a charge corona. The charged areas on the photoconductor that have been exposed to the laser beam are discharged, forming electrostatic images that are suitable for development.
After the images are transferred to the paper, the photoconductor passes through a cleaner station, where it is cleaned and reconditioned for the next exposure, then through the charge corona, where it is charged again.
The use of a laser beam directed through an optical system to implement raster patterns allows the use of all-point addressability. This printing concept allows users to produce text, electronic forms, and images at any defined point in the printable area of a sheet. These points, called print elements (pels), may have a density of 240.times.240 pels per square inch.
The printing subsystem operates in two basic modes: page mode and the compatibility mode. The page mode may be used to implement all-points addressability, line generation, electronic overlays, images, and text orientation. Line generations may include solid or dashed lines. These lines may start from any defined point on the page and may have any defined length either in a horizontal or vertical direction. The types of overlays permitted include lines, boxes, shaded areas, constant text, and images such as signatures or logos. The images may be drawings, graphics or logos. Both portrait and landscape orientations are permitted. In portrait orientation the printed image is vertical along the long side of the sheet or form. In landscape orientation the printed image is vertical along the short side of the sheet or form.
The compatibility mode permits the 3800 Model 3 to emulate the 3800 Model 1 Printing Subsystem to produce output with application programs for the Model 1 with little or no change. The applications data and formatting specifications of the Model 1 have been required to be introduced sequentially on a line-by-line basis. While sequential specification of the compatibility mode is no longer required in the page mode, data specified in this format may be converted by practicing the present invention to all-points addressable format.
Generally, however, the laser assembly scans data images onto the photoconductor. Toner is attracted to the areas on the photoconductor that have been exposed to light from the laser. Paper is then passed over the surface of the photoconductor causing toner to be transferred to the paper. If a flash overlay is to be done, the photoconductor is exposed using the forms flash unit consisting of a film negative and a xenon flash lamp. A control, passes light through the film negative exposing its image onto the photoconductor.
Further information pertaining to the IBM 3800 Printing Subsystems and related support systems is available in the IBM Publications GA32-0049-0, "Introducing the IBM 3800 Printing Subsystem Model 3," GA32-0050-1, "Reference Manual for the IBM 3800 Printing Subsystem Model 3", and GH20-9158-4, "Document Composition Facility and Document Library Facility General Information" which are incorporated herein by reference.